this prevents some missing symbols because of a dependency cycle #18
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
this is a minor module dependency fix.
there is a dependency cycle in the form of:
MogileFS::Server -> MogileFS::ReplicationPolicy::MultipleHosts -> MogileFS::ReplicationRequest -> MogileFS::Server
this doesn't cause problems when MogileFS::Server is loaded first, but when MogileFS::ReplicationRequest is loaded first, MogileFS::ReplicationPolicy::MultipleHosts breaks with the following error:
Bareword "ALL_GOOD" not allowed while "strict subs" in use at /usr/local/share/perl5/MogileFS/ReplicationPolicy/MultipleHosts.pm line 47.
Bareword "TOO_GOOD" not allowed while "strict subs" in use at /usr/local/share/perl5/MogileFS/ReplicationPolicy/MultipleHosts.pm line 65.
Bareword "TOO_GOOD" not allowed while "strict subs" in use at /usr/local/share/perl5/MogileFS/ReplicationPolicy/MultipleHosts.pm line 66.
Bareword "ALL_GOOD" not allowed while "strict subs" in use at /usr/local/share/perl5/MogileFS/ReplicationPolicy/MultipleHosts.pm line 67.
Bareword "ALL_GOOD" not allowed while "strict subs" in use at /usr/local/share/perl5/MogileFS/ReplicationPolicy/MultipleHosts.pm line 68.
Bareword "ALL_GOOD" not allowed while "strict subs" in use at /usr/local/share/perl5/MogileFS/ReplicationPolicy/MultipleHosts.pm line 76.
Bareword "TEMP_NO_ANSWER" not allowed while "strict subs" in use at /usr/local/share/perl5/MogileFS/ReplicationPolicy/MultipleHosts.pm line 93.
Bareword "TEMP_NO_ANSWER" not allowed while "strict subs" in use at /usr/local/share/perl5/MogileFS/ReplicationPolicy/MultipleHosts.pm line 98.
Compilation failed in require at /usr/local/share/perl5/MogileFS/Server.pm line 63.
BEGIN failed--compilation aborted at /usr/local/share/perl5/MogileFS/Server.pm line 63.
Compilation failed in require at /usr/local/share/perl5/MogileFS/ReplicationRequest.pm line 3.
BEGIN failed--compilation aborted at /usr/local/share/perl5/MogileFS/ReplicationRequest.pm line 3.
an easy command to see this breakage is:
perl -mMogileFS::ReplicationRequest -e'1;'
I ran into this bug when upgrading the MogileFS database, my first plugin utilized MogileFS::FID, which requires MogileFS::ReplicationRequest before MogileFS::Server has been loaded.